package tt.com.common.model;

import com.baomidou.mybatisplus.annotation.*;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import tt.com.common.annotation.IsNull;
import tt.com.common.enums.TaskStatusEnum;

/**
    * 接运任务表
    */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "yx_funeral_drive_task")
public class DriveTask {
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 创建用户id
     */
    @TableField(value = "create_user_id")
    private String createUserId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 最后更新用户id
     */
    @TableField(value = "last_update_user_id")
    private String lastUpdateUserId;

    /**
     * 最后更新时间
     */
    @TableField(value = "last_update_time")
    private Date lastUpdateTime;

    /**
     * 删除用户id
     */
    @TableField(value = "delete_user_id")
    private String deleteUserId;

    /**
     * 删除时间
     */
    //    @TableField(value = "delete_time", fill = FieldFill.INSERT_UPDATE)
    @TableField(value = "delete_time")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date deleteTime;

    /**
     * 数据状态(1正常 0删除）
     */
    @TableField(value = "data_status")
    private Integer dataStatus;

    /**
     * 联系人姓名
     */
    @TableField(value = "relation_name")
    @IsNull
    private String relationName;

    /**
     * 联系人电话
     */
    @TableField(value = "relation_phone")
    private String relationPhone;

    /**
     * 与逝者关系
     */
    @TableField(value = "dead_relation")
    private String deadRelation;

    /**
     * 预约时间
     */
    @TableField(value = "task_time")
    private Date taskTime;

    /**
     * 放棺时间
     */
    @TableField(value = "fang_time")
    private Date fangTime;

    /**
     * 接棺时间
     */
    @TableField(value = "jie_time")
    private Date jieTime;

    /**
     * 出车时间
     */
    @TableField(value = "out_time")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date outTime;

    /**
     * 回车时间
     */
    @TableField(value = "return_time")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date returnTime;

    /**
     * 调试冰棺时间
     */
    @TableField(value = "debug_time")
    private Date debugTime;

    /**
     * 接运地址
     */
    @TableField(value = "collect_address")
    private String collectAddress;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 车牌号
     */
    @TableField(value = "passenger_car")
    private String passengerCar;

    /**
     * 接运状态
     */
    @TableField(value = "task_status")
    private TaskStatusEnum taskStatus;

    /**
     * 车辆
     */
    @TableField(value = "car_id")
    private String carId;

    /**
     * 逝者id
     */
    @TableField(value = "dead_id")
    private String deadId;

    /**
     * 班组id
     */
    @TableField(value = "team_id")
    private String teamId;

    public static final String COL_ID = "id";

    public static final String COL_CREATE_USER_ID = "create_user_id";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_LAST_UPDATE_USER_ID = "last_update_user_id";

    public static final String COL_LAST_UPDATE_TIME = "last_update_time";

    public static final String COL_DELETE_USER_ID = "delete_user_id";

    public static final String COL_DELETE_TIME = "delete_time";

    public static final String COL_DATA_STATUS = "data_status";

    public static final String COL_RELATION_NAME = "relation_name";

    public static final String COL_RELATION_PHONE = "relation_phone";

    public static final String COL_DEAD_RELATION = "dead_relation";

    public static final String COL_TASK_TIME = "task_time";

    public static final String COL_FANG_TIME = "fang_time";

    public static final String COL_JIE_TIME = "jie_time";

    public static final String COL_OUT_TIME = "out_time";

    public static final String COL_RETURN_TIME = "return_time";

    public static final String COL_DEBUG_TIME = "debug_time";

    public static final String COL_COLLECT_ADDRESS = "collect_address";

    public static final String COL_REMARK = "remark";

    public static final String COL_PASSENGER_CAR = "passenger_car";

    public static final String COL_TASK_STATUS = "task_status";

    public static final String COL_CAR_ID = "car_id";

    public static final String COL_DEAD_ID = "dead_id";

    public static final String COL_TEAM_ID = "team_id";
}